package net.linku.model.req.role;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 新增/更新角色的实体类
 *
 * @author
 * @date 2024/7/14
 */
@ApiModel(description = "新增/更新角色的实体类")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AdminRoleReq {
    /**
     * 角色id
     */
    @ApiModelProperty(value = "角色id")
    private Long id;

    /**
     * 租户ID, 值集 0 是大众租户 1是后端集团租户
     */
    @NotNull(message = "租户ID不能为空")
    @ApiModelProperty(value = "租户ID, 值集 0 是大众租户 1是后端集团租户", required = true)
    private Long tenantId;

    /**
     * 角色名称
     */
    @NotBlank(message = "角色名称不能为空")
    @ApiModelProperty(value = "角色名称", required = true)
    private String name;

    /**
     * 角色code
     */
    @NotBlank(message = "角色code不能为空")
    @ApiModelProperty(value = "角色code", required = true)
    private String code;

    /**
     * 角色描述
     */
    @NotBlank(message = "角色描述不能为空")
    @ApiModelProperty(value = "角色描述", required = true)
    private String description;

    /**
     * 父主键
     */
    @ApiModelProperty(value = "父主键")
    private Long parentId;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Long sort;

    /**
     * 角色别名
     */
    @ApiModelProperty(value = "角色别名")
    private String roleAlias;
}
